package com.ddxz.demo.quartz.service;

import com.ddxz.demo.quartz.dto.GroupInfo;
import com.ddxz.tool.web.dto.DdxzResponse;

/**
 * interface description
 *
 * @author 朱宗刚
 * @version 1.0.0
 * @date 2020/11/24
 */

public interface QuartzService {
    /**
     * 新增/修改任务
     * @param group 任务调度信息
     * @return 是否保存成功
     */
    DdxzResponse saveTask(GroupInfo group);

    /**
     * 移除调度任务
     * @param groupId 调度标识
     * @return 是否移除成功
     */
    DdxzResponse removeTask(String groupId);

    /**
     * 暂停调度任务的执行
     * @param groupId 调度标识
     * @return 是否暂停成功
     */
    DdxzResponse pauseTask(String groupId);

    /**
     * 恢复暂停的调度任务
     * @param groupId 调度标识
     * @return 是否恢复成功
     */
    DdxzResponse resumeTask(String groupId);

    /**
     * 手动执行一次任务
     * @param groupId 调度器标识
     * @return 是否启动成功
     */
    DdxzResponse onceTask(String groupId);
}
